package com.asohofrucol.dto;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import com.asohofrucol.model.ComboValue;
import com.asohofrucol.model.Ruat;

public class VisitDataDTO {
	// datos que son unicos para todas las visitas
	private Long id;	
	private String altitude;
	private String cropArea;
	private String northLatitude;
	private String proyectCode;
	private String proyectName;
	private String westLongitude;
	private Long productionLineId;
	private Long ruatId;

	
	// demas datos que no son rows pero son listas de elementos uno cada visita
	private List<VisitDataRowDTO> row10 = new ArrayList<VisitDataRowDTO>();
	private List<VisitDataRowDTO> row20 = new ArrayList<VisitDataRowDTO>();
	private List<VisitDataRowDTO> row30 = new ArrayList<VisitDataRowDTO>();
	private List<VisitDataRowDTO> row40 = new ArrayList<VisitDataRowDTO>();
	private List<VisitDataRowDTO> row50 = new ArrayList<VisitDataRowDTO>();

	private List<VisitDataItemDTO> bpa = new ArrayList<VisitDataItemDTO>();
	private List<VisitDataItemDTO> farmType = new ArrayList<VisitDataItemDTO>();
	private List<VisitDataItemDTO> fertilization = new ArrayList<VisitDataItemDTO>();
	private List<VisitDataItemDTO> mip = new ArrayList<VisitDataItemDTO>();
	private List<VisitDataItemDTO> mie = new ArrayList<VisitDataItemDTO>();
	private List<VisitDataItemDTO> anualProductionLevel = new ArrayList<VisitDataItemDTO>();
	private List<VisitDataItemDTO> visitDate = new ArrayList<VisitDataItemDTO>();
	private List<VisitDataItemDTO> consecutive = new ArrayList<VisitDataItemDTO>();
	private List<VisitDataItemDTO> productionLastHarvest = new ArrayList<VisitDataItemDTO>();
	private List<VisitDataItemDTO> recomendationsAndCommitments = new ArrayList<VisitDataItemDTO>();
	private List<VisitDataItemDTO> compilanceLevel = new ArrayList<VisitDataItemDTO>();
	private List<VisitDataItemDTO> anotherProductiveLine = new ArrayList<VisitDataItemDTO>();
	private List<VisitDataItemDTO> anotherCropArea = new ArrayList<VisitDataItemDTO>();
	private List<Integer> index = new ArrayList<Integer>();

	public VisitDataDTO() {
		/*
		 * System.out.println("CONSTRUCOTR DE CROP CLASSIFICATION ");
		 * List<VisitDataItemDTO> exampleItems = new
		 * ArrayList<VisitDataItemDTO>(); VisitDataItemDTO item = new
		 * VisitDataItemDTO(); item.setValue(1L); item.setVisitNumber(1);
		 * VisitDataItemDTO item2 = new VisitDataItemDTO(); item2.setValue(1L);
		 * item2.setVisitNumber(2); VisitDataItemDTO item3 = new
		 * VisitDataItemDTO(); item3.setValue(1L); item3.setVisitNumber(3);
		 * VisitDataItemDTO item4 = new VisitDataItemDTO(); item4.setValue(1L);
		 * item4.setVisitNumber(4);
		 * 
		 * exampleItems.add(item); exampleItems.add(item2);
		 * exampleItems.add(item4); VisitDataRowDTO exampleRow = new
		 * VisitDataRowDTO(); exampleRow.setItems(exampleItems); VisitDataRowDTO
		 * exampleRow2 = new VisitDataRowDTO();
		 * exampleRow2.setItems(exampleItems);
		 * 
		 * List<VisitDataRowDTO> example = new ArrayList<VisitDataRowDTO>();
		 * 
		 * example.add(exampleRow); example.add(exampleRow2);
		 * 
		 * this.setRow10(example); this.setRow20(example);
		 * this.setRow30(example); this.setRow40(example);
		 * this.setRow50(example);
		 */

	}

	public Long getId() {
		return id;
	}

	public int getSize() {
		return index.size();
	}

	public void setId(Long id) {
		this.id = id;
	}
	
	
	public String getAltitude() {
		return altitude;
	}

	public void setAltitude(String altitude) {
		this.altitude = altitude;
	}

	public String getCropArea() {
		return cropArea;
	}

	public void setCropArea(String cropArea) {
		this.cropArea = cropArea;
	}

	public String getNorthLatitude() {
		return northLatitude;
	}

	public void setNorthLatitude(String northLatitude) {
		this.northLatitude = northLatitude;
	}

	public String getProyectCode() {
		return proyectCode;
	}

	public void setProyectCode(String proyectCode) {
		this.proyectCode = proyectCode;
	}

	public String getProyectName() {
		return proyectName;
	}

	public void setProyectName(String proyectName) {
		this.proyectName = proyectName;
	}

	public String getWestLongitude() {
		return westLongitude;
	}

	public void setWestLongitude(String westLongitude) {
		this.westLongitude = westLongitude;
	}

	public Long getProductionLineId() {
		return productionLineId;
	}

	public void setProductionLineId(Long productionLineId) {
		this.productionLineId = productionLineId;
	}

	public Long getRuatId() {
		return ruatId;
	}

	public void setRuatId(Long ruatId) {
		this.ruatId = ruatId;
	}

	public List<VisitDataRowDTO> getRow10() {
		return row10;
	}

	public void setRow10(List<VisitDataRowDTO> row10) {
		this.row10 = row10;
	}

	public List<VisitDataRowDTO> getRow20() {
		return row20;
	}

	public void setRow20(List<VisitDataRowDTO> row20) {
		this.row20 = row20;
	}

	public List<VisitDataRowDTO> getRow30() {
		return row30;
	}

	public void setRow30(List<VisitDataRowDTO> row30) {
		this.row30 = row30;
	}

	public List<VisitDataRowDTO> getRow40() {
		return row40;
	}

	public void setRow40(List<VisitDataRowDTO> row40) {
		this.row40 = row40;
	}

	public List<VisitDataRowDTO> getRow50() {
		return row50;
	}

	public void setRow50(List<VisitDataRowDTO> row50) {
		this.row50 = row50;
	}

	public List<VisitDataItemDTO> getBpa() {
		return bpa;
	}

	public void setBpa(List<VisitDataItemDTO> bpa) {
		this.bpa = bpa;
	}

	public List<VisitDataItemDTO> getFarmType() {
		return farmType;
	}

	public void setFarmType(List<VisitDataItemDTO> farmType) {
		this.farmType = farmType;
	}

	public List<VisitDataItemDTO> getFertilization() {
		return fertilization;
	}

	public void setFertilization(List<VisitDataItemDTO> fertilization) {
		this.fertilization = fertilization;
	}

	public List<VisitDataItemDTO> getMip() {
		return mip;
	}

	public void setMip(List<VisitDataItemDTO> mip) {
		this.mip = mip;
	}

	public List<VisitDataItemDTO> getMie() {
		return mie;
	}

	public void setMie(List<VisitDataItemDTO> mie) {
		this.mie = mie;
	}

	public List<VisitDataItemDTO> getAnualProductionLevel() {
		return anualProductionLevel;
	}

	public void setAnualProductionLevel(
			List<VisitDataItemDTO> anualProductionLevel) {
		this.anualProductionLevel = anualProductionLevel;
	}

	public List<VisitDataItemDTO> getVisitDate() {
		return visitDate;
	}

	public void setVisitDate(List<VisitDataItemDTO> visitDate) {
		this.visitDate = visitDate;
	}

	public List<VisitDataItemDTO> getConsecutive() {
		return consecutive;
	}

	public void setConsecutive(List<VisitDataItemDTO> consecutive) {
		this.consecutive = consecutive;
	}

	public List<VisitDataItemDTO> getProductionLastHarvest() {
		return productionLastHarvest;
	}

	public void setProductionLastHarvest(
			List<VisitDataItemDTO> productionLastHarvest) {
		this.productionLastHarvest = productionLastHarvest;
	}

	public List<VisitDataItemDTO> getRecomendationsAndCommitments() {
		return recomendationsAndCommitments;
	}

	public void setRecomendationsAndCommitments(
			List<VisitDataItemDTO> recomendationsAndCommitments) {
		this.recomendationsAndCommitments = recomendationsAndCommitments;
	}

	public List<VisitDataItemDTO> getCompilanceLevel() {
		return compilanceLevel;
	}

	public void setCompilanceLevel(List<VisitDataItemDTO> compilanceLevel) {
		this.compilanceLevel = compilanceLevel;
	}

	public List<VisitDataItemDTO> getAnotherProductiveLine() {
		return anotherProductiveLine;
	}

	public void setAnotherProductiveLine(
			List<VisitDataItemDTO> anotherProductiveLine) {
		this.anotherProductiveLine = anotherProductiveLine;
	}

	public List<VisitDataItemDTO> getAnotherCropArea() {
		return anotherCropArea;
	}

	public void setAnotherCropArea(List<VisitDataItemDTO> anotherCropArea) {
		this.anotherCropArea = anotherCropArea;
	}

	public List<Integer> getIndex() {
		return index;
	}

	public void setIndex(List<Integer> index) {
		this.index = index;
	}

}
